import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.List;

public class Client {

	public static void main(String[] args) {
		try {
			Banque banque = (Banque) Naming.lookup("rmi://172.16.85.176/Toto");
			List<Compte> comptes = banque.getComptes();
			Compte compte = findCompteById(comptes, "toto");
			String infos = compte.infosCompte();
			System.out.println(infos);
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			System.out.println("probleme malforme URL");
		} catch (RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (NotBoundException e) {
			// TODO Auto-generated catch block
			System.out.println("probleme not bound exception");
			e.printStackTrace();
		} catch (AbstractMethodError e) {
			System.out.println("probleme methode abstraite");
			e.printStackTrace();
		}
	}

	static public Compte findCompteById(List<Compte> comptes, String id) throws RemoteException {
		Compte compte = null;
		if (comptes.size() > 1) {
			for (int i = 0; i < comptes.size(); i++) {
				if (id.equals(comptes.get(i).getId())) {
					compte = comptes.get(i);
				}
			}
		}
		if (comptes.size() == 1) {
			if (id.equals(comptes.get(0).getId())) {
				compte = comptes.get(0);
			}

		}
		return compte;
	}
}
